
class Base2{
    int a;
    int b;
    public void methodA(){
        System.out.println("父类中的方法methodA！");
    }
    public void methodB(){
        System.out.println("父类中的方法methodB！");
    }
}
class Derived2 extends Base2{
    int a=1;
    int b=2;
    public void methodB(){//方法名与参数列表与父类完全相同构成重写
        System.out.println("子类中的方法methodB！");
    }
    public void methodA(int a){//参数列表不同，构成重载
        System.out.println("子类当中的methodA!");
    }
    public void method3(){
        super.a=10;
        super.b=20;
    }
    public void show(){
        methodA();//没有传参，访问父类中的methodA()
        methodA(30);//传递int参数，访问子类中的methodA(int)
        super.methodB();//super关键字访问到父类的方法methodB
        methodB();// 直接访问，则永远访问到的都是子类中的methodB()，基类的无法访问到
        System.out.println("父类a="+super.a);
        System.out.println("子类a="+a);
        System.out.println("父类b="+super.b);
        System.out.println("子类b="+b);
    }
}
public class Test_2{
    public static void main(String[] args) {
        Derived2 derived =new Derived2();
        derived.method3();
        derived.show();
    }
}